package com.mytrip.util;

import java.util.Locale;

public class LocaleUtil {
	
    /**
     * 根据locale字符串获取对应的Locale
     * 
     * @param localeStr
     * @param defaultLocale
     * @return
     */
    public static Locale localeFromString(String localeStr, Locale defaultLocale)
    {
        if(localeStr == null || localeStr.trim().length() == 0 || localeStr.equals("_"))
            if(defaultLocale != null)
                return defaultLocale;
            else
                return Locale.getDefault();
        int index = localeStr.indexOf('_');
        if(index < 0)
            return new Locale(localeStr);
        String language = localeStr.substring(0, index);
        if(index == localeStr.length())
            return new Locale(language);
        localeStr = localeStr.substring(index + 1);
        index = localeStr.indexOf('_');
        if(index < 0)
            return new Locale(language, localeStr);
        String country = localeStr.substring(0, index);
        if(index == localeStr.length())
        {
            return new Locale(language, country);
        } else
        {
            localeStr = localeStr.substring(index + 1);
            return new Locale(language, country, localeStr);
        }
    }
    
    public static void main(String args[]){
    	Locale locale = localeFromString("", null);    	
    	System.out.println(Locale.CHINA.equals(locale));
    	Locale locale1 = localeFromString(null, null);   
    	System.out.println(locale1);
    }
}
